//数组的检测 判断一个数据是否为数组类型
//判断数据类型 typeof

var arr=[]; //var arr = new Array();
console.log(typeof arr); //object 引用类型
console.log(typeof {id:1001}); //object 引用类型


//变量名 instanceof 构造函数名称
console.log(arr instanceof Array); //true
console.log(arr instanceof Number); //false
//Object.prototype.isprototypeOf(obj)
//Array.prototype.isprototypeOf(arr)
console.log(Array.prototype.isPrototypeOf(arr)); //true
console.log(Object.prototype.isPrototypeOf(arr)); //true
console.log(String.prototype.isPrototypeOf(arr));//false

//Array.isArray(变量名)  兼容性好 封装好
console.log(Array.isArray(arr)); //true

var obj=new Object();
var arr2=[100,200,300];
console.log(obj.toString(obj)); //[Object Object]
console.log(arr2.toString(arr2)); //100,200,300

//函数和原型成对出现
//所有的引用类型object都有父亲
//基本数据类型保存的是数据本身 引用类型保存的是地址值

//序列化 反序列化
//1.toString
var arr=[100,'hello',[200,'world'],{id:1001,name:'zs'}];
console.log(arr.toString());
console.log(arr);
//2.Array.prototype.join()默认分隔符是逗号
console.log(arr.join());
console.log(arr.join('@@@')); @@@作为分隔符
//3.项目级使用的
console.log(JSON.stringify(arr));